Visual Studio CodeによるRubyのデバッグ
はじめに
好物はインフラとフロントエンドのかじわらゆたかです。
Facebookを見ていたらVisual Studio CodeでRubyがデバッグできるというのを見かけたので、試してみました。
環境
- OS : OSX El Capitan (10.11.4)
- Visual Studio Code : 1.0.0
- rbenv 1.0.0
ruby用の拡張を導入する。
Visual StudioのMarketplaceにしたがってインストールを進めていきます。
Ruby | Visual Studio Marketplace
Visual Studio Code上でF1キーを押下し、ext install rubyと入力することでダイアログが表示されるので、
拡張機能のインストールと選択します。
インストールが完了すると、Visual Studio Codeの再起動を促されるため、再起動します。
閑話休題:ターミナルからVisual Studio Codeを起動する。
先ほどのインストールと同様F1でダイアログを表示させ、シェルと入力することで、PATH内にVisual Studio Code用のCodeというコマンドがインストールできます。 当該の設定を行うことでターミナル上からVisual Studio Codeを起動しさせることが可能です。
Ruby開発用環境を構築していく。
Rubyの導入
適当なディレクトリを作成し、rbenvにて使うrubyのバージョンを指定します。
Visual Studio Codeは1.9.3から2.2.0までテストやったと書いてあるので、2.2.4を用いることとします。
$ mkdir ./ruby_vscode_debug $ cd ./ruby_vscode_debug $ rbenv install 2.2.4 $ rbenv local 2.2.4
デバッグ用Gem導入
デバッグ用のgemをbundler経由で導入していきます。
$ gem install bundler $ bundle init $ cat Gemfile # A sample Gemfile source "https://rubygems.org" # gem "rails" gem "ruby-debug-ide" gem "debase" $ bundle install
Visual Studio Code用の設定ファイルを作成する。
.vscode/launch.json
{ "version": "0.2.0", "configurations": [ { "name": "Debug Local File", "type": "Ruby", "request": "launch", "program": "${workspaceRoot}/main.rb", "useBundler": true } ] }
今回はBundler経由で実行をするので、9行目のオプションを有効にする必要があります。
またVisual Studio Codeは導入したプラグインの候補を表示してくれるのには驚きました。
実際にRubyのコードを書いてみる。
簡単なコードを書いてみます。
main.rb
a = 10 b = 3 * a + 2 printf("%d %d\n", a, b)
3行目でブレイクポイントを貼り、デバッグを実行してみます。
きちんと設定したブレイクポイントで止まり、止まった際の変数の情報を参照することが可能です。
また、ウォッチ内にて、変数に対して別途処理を行わせるといったことも行えていることが確認できます。
まとめ
RubyのコードのデバッグがVisual Studio Code上で行えることが確認できました。
また、これらの方法を用いてRuby on Railsのデバッグも行えるそうです。
Visual Studio Codeこれからも要チェックかもしれません。